package cn.tedu.mall.book.service;

import cn.tedu.mall.book.entity.User;
import cn.tedu.mall.book.pojo.dto.UserAddNewDTO;
import cn.tedu.mall.book.pojo.dto.UserLoginDTO;
import cn.tedu.mall.book.pojo.dto.UserUpdateDTO;
import cn.tedu.mall.book.pojo.vo.UserSimpleVO;
import cn.tedu.mall.book.pojo.vo.UserStandardVO;
import cn.tedu.mall.book.web.JsonPage;
import org.springframework.transaction.annotation.Transactional;

import javax.servlet.http.HttpSession;
import java.util.List;

public interface IUserService {

    /**
     * 添加一个用户
     * @Transactional 事务，保证数据的完整性和安全性
     */
    @Transactional
    void insertUser(UserAddNewDTO user);

    /**
     * 根据id修改用户基本信息
     * @param userUpdateDTO
     */
    void updateById(UserUpdateDTO userUpdateDTO);


    /**
     * 用户列表
     * @return
     */
    JsonPage<UserStandardVO> getUserList(Integer page,Integer pageSize);

    //登录用户
    UserStandardVO loginUser(UserLoginDTO userLoginDTO, HttpSession session);
}
